package com.yan.service.criteria;


import com.yan.service.criteria.query.OrderBy;
import com.yan.service.criteria.query.Where;

import java.lang.annotation.ElementType;
import java.lang.annotation.Retention;
import java.lang.annotation.RetentionPolicy;
import java.lang.annotation.Target;

/**
 * 参数查询条件
 *
 * @Author WangYan
 * @Date 2020/10/14
 */
@Retention(RetentionPolicy.RUNTIME)
@Target({ElementType.FIELD})
public @interface Query {

    String sqlColumn() default "";

    Where.Mark where() default Where.Mark.equal;

    OrderBy.Mark orderBy() default OrderBy.Mark.empty;

    //排序顺序 小的优先级高
    int orderBySort() default 99;

    //启用分组 true 开启， false 关闭
    boolean groupBy() default false;

    //分组顺序 小的优先级高
    int groupSort() default 0;

    boolean isSelect() default true;


}
